package com.pengxh.app.gb28181.util;

/**
 * JNI桥
 */
public class MediaPusher {
    static {
        // 按依赖顺序，不能乱序，否则会报错
        System.loadLibrary("osipparser2");  // 最底层的解析器
        System.loadLibrary("osip2");        // 依赖osipparser2
        System.loadLibrary("eXosip2");      // 依赖osip2

        // 最终的媒体工具库（依赖以上所有库）
        System.loadLibrary("media_pusher"); // 依赖exosip2库
    }

    /**
     * 注册
     *
     * @param config   SIP配置
     * @param callback SIP事件回调
     */
    public native void register(SipConfig config, SipEventCallback callback);

    /**
     * 注销
     */
    public native void unregister();

    public native void notifySpsPps(byte[] sps, byte[] pps);

    public native void pushVideoFrame(byte[] h264, long pts_90khz, boolean isKeyFrame);

    public native void pushAudioFrame(byte[] alaw, long pts_90khz);
}
